Estimating Potential Parallelism by Data-Dependence Profiling
نویسنده
چکیده
With the rise of multi-core consumer hardware, today’s software developers face the challenging task of refactoring existing sequential code assets with a view to exploiting modern multi-core processors’ parallel execution capabilities. While there is a growing range of methods to support parallelism in software products, a software engineer nonetheless has to decide which parts of an already existing software are worth the effort of being modified. We propose an extensible data dependence profiling framework that facilitates the estimation of a software component’s inherent potential for parallelism. Our framework is based on the Low Level Virtual Machine (LLVM) compiler infrastructure. We use LLVM to perform a static analysis of a given code and instrument the code at the intermediate representation level to record memory accesses and control flow. The information recorded, together with the result of the static analysis, is used to estimate the parallelism inherent in the program. We evaluate our tool on a benchmark covering algorithmic problems like searching, sorting and numerical methods.
منابع مشابه
Prospector: A Dynamic Data-Dependence Profiler To Help Parallel Programming
Multiprocessor architectures are increasingly common these days. In order to fully and efficiently utilize the abundant hardware parallelism, translating many sequential programs into parallel programs is a pressing need. Although many compilers support automatic parallelization, most programmers are still manually parallelizing their applications. To help parallelizing applications especially ...
متن کاملDiscovering and exploiting parallelism in DOACROSS loops
Although multicore processors have been the norm for a decade, programmers still struggle to write parallel general-purpose applications, resulting in underutilised on-chip resources. Automatic parallelisation is a promising approach to improving the performance of such applications without burdening the programmer. I explore various techniques for automatically extracting parallelism which spa...
متن کاملExtracting Statistical Loop-Level Parallelism using Hardware-Assisted Recovery
Chip multiprocessors with multiple simpler cores are gaining popularity because they have the potential to drive future performance gains without exacerbating the problems of power dissipation and hardware complexity. These designs provide real benefits for server-class applications that are explicitly multi-threaded. However, for desktop and other systems, there is a large code base of single-...
متن کاملInterval Based Workload Characterization for Distributed Systems
In this paper we analyze a graph model representing the coarse grain dependency and communication structure of a distributed application The model is called Timed Structural Parallelism Graph TSPG Nodes represent program components arcs represent depen dencies among components This workload model di ers from well known task graphs in two ways arcs can either have dependence or activa tion seman...
متن کاملFacilitating program parallelisation : a profiling-based approach
The advance of multi-core architectures signals the end of universal speed-up of software over time. To continue exploiting hardware developments, effort must be invested in producing software that can be split up to run on multiple cores or processors. Many solutions have been proposed to address this issue, ranging from explicit to implicit parallelism, but consensus has yet to be reached on ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012